<?php
  /*
    在程序语言中， 键盘的键位是固定的， 这就不得不有时候一个符号要承担多种校色的任务
      如双引号 会在在php中主要是用来表示字符串的边界符号  但是有时候我们就像要输出双引号，这时候
        就会涉及到字符串拼接 字符串转义 等等等等
  */ 
  
  echo "Jimmy"."age"."sex";  # Jimmyagesex
  /*
    php 中 字符串的拼接是使用点.来实现拼接的 和JS差不多只是JS使用的是 + 来进行字符串拼接
  */ 

  /*
    定界符 使用了定界符之后 就可以放心的使用双引号或者单引号  不用担心转义等等的问题
      下面是一个使用定界符和不使用定界符的例子  效果非常明显
  */ 
  echo "<h1 style='color:red'>Jimmy.study</h1>"; # 在这里 h1标签的style标签就不能使用双引号来使用了，如果还需要引号的操作的时候 ，这个就会变得非常的麻烦

  # 使用定界符之后 我们可以在定界符中间随意的输入字符串 不同考虑字符串的转义 拼接等等问题
  $str = <<<myphp
  <h1 style="color=blue;">Jimmy.xuexue.com</h1>
  <script>
    document.write('我是通过javaScript所创建出来的哦~');
  </script>
myphp;

/*
  定界符使用细节  定界符是由 <<<定界符名 ... 定界符名的形式来创建的
    同时第一定界符名后面不能有空格 不能有文字 
      第二个定界符名必须要是独占一行 且位于最左边  左边也不能有空格
    
      在定界符内部是不能写注释的 
*/ 
  echo $str;

  echo '百度一下，你就知道'.'<hr />';  // 因为编译器是utf8编码 浏览器也是utf8编码所以不会乱码  部分地段浏览器会出现乱码的情况
  /*
    字符串的函数
      strlen(参数)  会返回这个参数的字符串个数  相当于是js中的.length属性  返回的是长度
  */ 
  $course = 'JavaScript';
  $teacher = '陈老师';
  echo strlen($course).'<hr />'; # 10 说明 JavaScript 的长度就是为10
  echo strlen($teacher).'<hr />';  # 9 结果是9  明明陈老师是只有三个字？  原因是因为中文字是宽字节  一个代表的是3个长度
  /*
    为了解决中文字使用 strlen()方法时的问题  
      php推出了 mb_strlen() 专门就是用来解决中文字的问题
  */ 
  echo mb_strlen($teacher); # 3 结果是3  已经是正常的了

  /*
    总结 如果是处理中文字个数的时候  还是需要使用 mb_strlen()方法 获取到的个数才是更加准确的个数
  */ 
